import * as jweixin from 'weixin-js-sdk'
export default {
	jswx_status: 0,
	//判断是否在微信中    
	isWechat: function() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			//console.log('是微信客户端')  
			return true;
		} else {
			//console.log('不是微信客户端')  
			return false;
		}
	},
	initJssdk: function() {
		let url = window.location.href;
		return new Promise((resolve) => {
			uni.gPost("wechat/jsconfig", {
				url: url
			}).then((result) => {
				if (result) {
					jweixin.config({
						appId: result.appId,
						timestamp: parseInt(result.timestamp),
						nonceStr: result.nonceStr,
						signature: result.signature,
						jsApiList: [ //这里是需要用到的接口名称  
							'checkJsApi', //判断当前客户端版本是否支持指定JS接口  
							'onMenuShareTimeline',
							'onMenuShareAppMessage',
							'updateAppMessageShareData',
							'updateTimelineShareData',
							'getLocation', //获取位置  
							'openLocation', //打开位置  
							'scanQRCode', //扫一扫接口  
							'chooseWXPay', //微信支付  
							'chooseImage', //拍照或从手机相册中选图接口  
							'previewImage', //预览图片接口  
							'uploadImage', //上传图片  
							'hideMenuItems',
							'showMenuItems',
							'hideAllNonBaseMenuItem',
							'showAllNonBaseMenuItem'
						],
						openTagList: ['wx-open-launch-weapp', 'wx-open-launch-app'],
					});
					jweixin.ready(() => {
						resolve(result)
					})
				} else {
					resolve()
				}
			})
		});



	},
	//在需要定位页面调用  
	getLocation: function() {
		return new Promise((resolve, reject) => {
			jweixin.ready(function() {
				console.log("公众号定位中....")
				jweixin.getLocation({
					type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'  
					success: function(res) {
						resolve(res);
					},
					fail: function(res) {
						reject(res);
					}
				});
			});
		})
	},
	openlocation: function(data, callback) { //打开位置  
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		//this.initJssdk(function(res) {
		jweixin.ready(function() {
			jweixin.openLocation({ //根据传入的坐标打开地图  
				latitude: parseFloat(data.latitude),
				longitude: parseFloat(data.longitude),
				name: data.name,
				address: data.address,
				scale: 16, // 地图缩放级别,整形值,范围从1~28。默认为最大
				infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
			});
		});
		//});
	},
	chooseImage: function(callback) { //选择图片  
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		//console.log(data);  
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.chooseImage({
					count: 1,
					sizeType: ['compressed'],
					sourceType: ['album'],
					success: function(rs) {
						callback(rs)
					}
				})
			});
		});
	},
	//微信支付  
	wxpay: function(data, successCallBack, cancelCallBack, failCallBack) {
		jweixin.ready(function() {
			jweixin.chooseWXPay({
				timestamp: data
					.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符  
				nonceStr: data.nonceStr, // 支付签名随机串，不长于 32 位  
				package: data.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）  
				signType: data.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'  
				paySign: data.paySign, // 支付签名  
				success: function(res) {
					// console.log(res);
					return successCallBack(res)
				},
				cancel: function(res) {
					return cancelCallBack(res)
				},
				fail: function(res) {
					return failCallBack(res)
				},
				// complete:function(res){  
				//     console.log(res)  
				// }  
			});

		});
	},
	// 不可分享
	noShare: function(vm, callback) {
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		//this.initJssdk(vm, function() {
		jweixin.ready(function() {
			jweixin.hideAllNonBaseMenuItem();

			return callback();
		});
		//});
	},
	// 微信分享
	wxShare: function(shareData, callback) {
		return new Promise((resolve) => {
			// this.initJssdk().then((flag) => {
			// 	if (flag == undefined) resolve();
				jweixin.ready(function() {
					jweixin.hideAllNonBaseMenuItem();
					jweixin.showMenuItems({
						menuList: ['menuItem:share:appMessage',
							'menuItem:share:timeline'
						]
					});

					// 分享到朋友 已废弃
					// jweixin.onMenuShareAppMessage({
					// 	title: shareData.title, // 分享标题
					// 	link: shareData.url, // 跳转地址
					// 	desc: shareData.content, // 描述
					// 	imgUrl: shareData.image, // 分享的图标
					// 	type: 'link',
					// 	fail: function(res) {

					// 	}
					// });

					jweixin.updateAppMessageShareData({
						title: shareData.title, // 分享标题
						link: shareData.url, // 跳转地址
						desc: shareData.content, // 描述
						imgUrl: shareData.image, // 分享的图标
						type: 'link',
						success: function(res) {
							console.log("好友分享成功." + JSON.stringify(res))
						},
						fail: function(res) {
							console.log("好友分享失败." + JSON.stringify(res))
							uni.showToast({
								title: "分享失败",
								icon: "none"
							})
						}
					});


					// 分享到朋友圈 已废弃
					// jweixin.onMenuShareTimeline({
					// 	title: shareData.title, // 分享标题
					// 	link: shareData.url, // 跳转地址
					// 	// desc: shareData.content, // 描述
					// 	imgUrl: shareData.image, // 分享的图标
					// 	type: 'link',
					// 	fail: function(res) {

					// 	}
					// });

					jweixin.updateTimelineShareData({
						title: shareData.title, // 分享标题
						link: shareData.url, // 跳转地址
						imgUrl: shareData.image, // 分享的图标
						success: function(res) {
							console.log("朋友圈分享成功." + JSON.stringify(res))
						},
						fail: function(res) {
							console.log("朋友圈分享失败." + JSON.stringify(res))
							uni.showToast({
								title: "分享失败",
								icon: "none"
							})
						}
					});
					resolve(1)
				});

				resolve(0)
			// })
		})

		//});

	}
}
